Lexique du hacker
Un lexique ? Mais pourquoi ? Devant l’incompréhension et le regard inquiet de certains de mes collègues à partir du moment où je parle hacking, j’ai décidé d’écrire un petit post rapide pour poser les bases de la terminologie des hackers (pas de kikoololisme bien évidemment, je sous entends des termes techniques, on est pas des gitans). Comme on est Vendredi, et que le Vendredi, tout est permis, cet article est décalé, et je suis disponible en cas de réclamation pour humour pourri (mais il n’en reste pas moins que toutes les définitions sont exactes) 4Chan : Créé en 2003 par «moot» (Christopher Poole, interviewé ici par le New York Times) quand il avait 15 ans, 4Chan est un «imageboard», une sorte de forum Internet centré sur la publication d'images. Il repose sur un relatif anonymat (pas besoin de s'inscrire, mais les adresse IP peuvent être fournies à la police dans certains cas sur ordre d'un juge, comme cette menace de tuerie dans un lycée suédois en 2009). Auberge espagnole de la contre-culture 2.0 (surtout la page «random», connue comme /b/), on y trouve le meilleur et le pire du Web: animation japonaise, porno, jeu vidéo... Un terreau fertile d'où sont partis les mèmes (phénomène culturel repris sur Internet) les plus célèbres comme les lolcats (photos de chats accompagnées d'une légende humoristique à la grammaire douteuse) ou le rickrolling (piéger quelqu'un en le redirigeant vers la chanson des années 80 Never gonna give you up). Anonymous : L'origine de ce groupe décentralisé d'internautes reste obscure. Un mème autour de l'anonymat a émergé sur 4chan (notamment des images du logo de l'Onu détourné avec une silhouette sans tête, ainsi que des masques de la bande dessinée V for Vendetta, dans laquelle un mystérieux révolutionnaire, Guy Fawkes, combat un gouvernement totalitaire). Le groupe a attiré l'attention du grand public avec une opération s'en prenant à l'Eglise de Scientologie, début 2008. Plusieurs attaques ont suivi, notamment contre l'industrie américaine du disque. Anonymous a soutenu les manifestants iraniens et WikiLeaks, en visant les sites de Visa et MasterCard. Selon les experts, Anonymous ne regroupe que quelques hackers, aidés par une vaste communauté de membres qui «prêtent» leurs ordinateurs pour mener des attaques (voir plus bas). Certains ont été arrêtés, aux Etats-Unis et en Europe, mais il ne s'agit sans doute pas de membres clés. AntiSec : Nom de l'opération conjointe lancée par Anonymous et LulzSec mi-juin. Son objectif: attaquer des sites gouvernementaux et dérober des documents sensibles afin de les publier sur Internet, sur le principe de WikiLeaks pour «luetter contre la censure et la corruption». Le 23 juin, la police de l'Arizona a été la première victime, en guise de protestation contre la loi très controversée sur l'immigration votée plus tôt. ASLR : L’ASLR, pour Address Space Layout Randomization a été mis en place pour bloquer les buffer overflow. Avant l’ASLR, les adresses mémoires utilisées dans les programmes étaient fixes. L’ASLR permet de rendre aléatoire ces adresses pour éviter les attaques. En effet, un BoF doit manipuler des adresses mémoires pour fonctionner. Si ces adresses sont randomisées, il est plus difficile de trouver les bonnes adresses. Mais pas impossible ?? BitCoin : Monnaie virtuelle créée par l'inconnu «Satoshi Nakamoto». Pas de banque centrale ici, mais l'utilisation d'un réseau peer-to-peer, sur un système proche de l'extraction d'un minerai. Le système est relativement anonyme mais selon son créateur, les autorités ont des moyens pour potentiellement localiser une transaction. La monnaie s'est retrouvée sous le feu médiatique suite à un article de Gawker à propos du site underground Silk Road, qui permet d'acheter n'importe quelle drogue illégale et de se faire livrer à son domicile. Le groupe de hackers LulzSec accepte les donations BitCoin pour financer ses opérations. Black Hat : Ce sont les méchants. Ce sont eux qui pillent les banques, volent les plus démunis et abusent des femmes et des enfants. Bon, j’exagère peut être légèrement, mais le principe est là, pour un black hat, le but du jeu est de faire de l’argent avec son activité, en proposant par exemple la vente de failles, la location de botnets, l’envoi de spam,… Ce sont eux qui donnent un coté malsain au hacking. BotNet : un botnet est un réseau d’ordinateurs zombies contrôlé à distance par un C&C (Command & Control) crée et utilisé par un pirate. Il permet par exemple d’envoyer des spams ou de faire du DDoS. Botnet : Réseau de PC «zombies» infectés que des pirates peuvent contrôler à distance (souvent pour mener des attaques en masse). Buffer Overflow : technique de hacker, dont l’abréviation est BoF. Quand deux hackers se rencontrent (souvent sur IRC), ils peuvent parler de Buffer Overflow. Exemple : Hacker 1 : « Hey ! Salut » Hacker 2 : « Io » Hacker 1 : « Tu devineras jamais ce que j’ai trouvé hier ! » Hacker 2 : « Ben non, dis le moi ?? » Hacker 1 : « Ok, bon alors tu vois, j’avais mon Ollydbg d’ouvert, alors j’me suis dit ‘Hop ! Hacking Session’. Je cherche un truc à disass, et là, j’me dis ‘Tiens, il y a la dernière version de qui vient de sortir’. Du coup, hop, je lance l’exe, j’attache le process, j’fais un Show Command pour checker les libs et les fonctions, j’en trouve une qui peut être pwnable, du coup, je trace je trace je trace, et là, j’trouve une vuln. Du coup, je commence à faire un script perl, j’injecte mes AAA, et plaf, ça segfault, du coup, happy face, j’me dis qu’il y a moyen, je commence à checker les addr mémoire, je crafte mon payload, et BAM ! mon shell s’ouvre, Buffer Overflow ! ?? » Note : Toute ressemblance avec des personnes existantes ou ayant existé ne serait que pure coïncidence. Plus sérieusement, un Buffer Overflow (dépassement de tampon en français) est le fait d’écrire dans la mémoire d’un programme, à un endroit qui n’était pas prévu pour cela. Il est possible d’injecter du code avec cette technique. Crafter : crafter une donnée, c’est la créer ou la modifier pour qu’elle contienne exactement les valeurs voulues. On peut crafter plus ou moins tout et n’importe quoi, mais ça ne donne pas toujours les effets escomptés. DDoS attack : «Distributed denial of service attack» ou «attaque en déni de service» en français. Il s'agit de noyer un site Internet sous les requêtes de connexion pour le rendre inaccessible ou le ralentir. Anonymous et LulzSec en mènent régulièrement. Selon David Perry, expert sécurité chez Trend Micro, ce type d'attaque «n'a rien de sophistiqué». Il le rappelle, «noyer le site de la CIA ne veut pas dire qu'on a dérobé des informations confidentielles», qui sont elles bien protégées sur des machines non connectées au réseau. deface : Quand un pirate s’introduit sur un site Web, il a plusieurs possibilités, donc celle de tout casser. Un deface, c’est lorsque le hacker décide de modifier la page d’accueil pour signaler sa présence, un peu comme une signature. On trouve généralement des « was here », « Owned by », « Greetz to ». Souvent, les textes sont écrit avec pleiN de mOts en Majuscules hIstOire d’être Stylé. DoS : Un DoS (Denial of Service) est une attaque pour bloquer l’accès à un serveur quelconque en l’inondant de requêtes, ou en faisant planter les services démarrés. Le cousin du DoS, le DDoS (pour Distributed Denial of Service) est similaire, mais on utilise de nombreux ordinateurs pour inonder encore plus vite le serveur. En 2002, un DDoS a été lancé sur les Root DNS, mais l’attaque n’a pas été assez longue ni puissante pour couper les 13 serveurs. Grey Hat : les grey hats sont en quelque sorte les cow boys du web, ils n’ont pas l’intention de détruire, mais écraser quelques fleurs au passage ne dérange pas, si besoin est. Ils ne sont pas motivés par l’argent, mais plus par le défi technique. Hacktiviste : Mot valise («hacker» + «activiste») qui désigne un hacker ayant des motivations politiques (piratage, censure, défense de la vie privée etc). Hook : Aucun rapport avec le capitaine crochet, un hook est une modification de l’adresse mémoire d’une fonction. Basiquement toutes les fonctions utilisées par un programme sont chargées au démarrage dans un tableau (voir IAT). En ayant accès à ce tableau et en modifiant une des entrées, on peut donc changer l’adresse de la fonction et mettre l’adresse d’une fonction injectée. IAT : Import Address Table. Au démarrage d’un exécutable, toutes les fonctions utilisées sont chargées dans un tableau qui va contenir leurs adresses mémoires. Par exemple, la fonction ShowWindow, définie dans la dll user32.dll, aura une adresse en 0x76020DFB (définie dans l’EAT, un autre tableau, utilisé par les dll pour donner accès aux fonctions). Lorsque le programme aura besoin de la fonction ShowWindow, il va aller chercher les instructions Assembleur à cette adresse. Injection SQL : L’injection SQL permet de rentrer dans une base de donnée, comme Richard Virenque, à l’insu de son plein gré (certes, la blague était facile, mais presque obligatoire). Le principe est de modifier une requête SQL (par exemple en changeant la valeur d’une variable) pour récupérer des informations autres que celles normalement renvoyées. Pour tester une injection SQL sur un site web, la technique de base est ‘ OR 1=1#. Injection SQL : Exploitation d'une faille dans la base de données d'un site Internet qui permet de dérober des informations. Ci dessous, un exemple pratique et intéressant des injections SQL (mais l’histoire ne raconte pas si le conducteur a eu un PV !) : IRC (Internet Relay Chat) : Protocole de communication et espace de discussion en ligne populaire à la fin des années 90 et toujours très fréquenté par les hackers (et leurs suiveurs). Kernelland : Lieu magique où les enfants ne grandissent jamais. Partie du système d’exploitation utilisé pour les fonctions vitales, c’est le noyau de l’OS, et toute erreur dans le kernelland provoque des dégats importants (un écran bleu par exemple). Techniquement parlant c’est une partie de la mémoire qui permet de gérer les interruptions matérièles, le chargement de drivers,… LOIC : Acronyme pour «Low Orbit Ion cannon» (litt. «canon à ion en basse orbite). Logiciel permettant à des internautes sans connaissances informatiques de participer à des attaques DDoS. Lulz : Terme dérivé du pluriel de «lol», qui désigne quelque chose d'amusant. LulzSec : Groupe de hackers le plus actif récemment. Il semble avoir des liens avec Anonymous (certains spéculent qu'il s'agit d'ex-membres, partis quand les choses sont devenues trop politiques). Initialement, le groupe a dit agir pour le «lulz», le fun. Par la suite, un manifeste a recalé l'action sur le thème de la sécurité en ligne, avec des attaques contre Sony (mais pas la principale contre le PSN, toujours pas revendiquée) ou Nintendo. Le groupe n'hésite pas à semer la pagaille, notamment en publiant des logins/mot de passe dérobés. Récemment, l'action de LulzSec a pris un tour politique, avec l'opération AntiSec. m_nerva : Présenté comme une «balance» par LulzSec, il serait à l'origine de la publication (notamment par le Guardian) de conversations entre les leaders de LulzSec. Le groupe a riposté en publiant sa (supposée) adresse et en invitant le FBI à aller frapper à sa porte, l'accusant d'avoir «hacké le jeu Deus Ex». MITM : Acronyme de Man In The Middle. Une attaque MITM permet de se faire passer pour un autre ordinateur, et de faire ainsi intermédiaire entre deux postes, pour capturer le trafic réseau, ou encore le modifier. On3roi : Un autre hacker «anti-LulzSec», qui affirme avoir mis hors ligne le site lulzsecurity.com pendant quelques heures le 23 juin. Owned/Pwned/Ouned/Pouned et autres dérivés : vient de l’anglais to own. Le hacker dit qu’il a « owned » un serveur quand il a réussi à passer root dessus. ROP : Return Oriented Programming, le ROP est une technique de Jedi utilisé durant la guerre des clones, oupa. Elle est utilisée sur certains OS, pour les buffer overflow. Elle permet de contourner les protections de détection d’attaque mises en place dans les sytèmes d’exploitation. Le principe basique est d’utiliser des morceaux de code assembleur déjà existants, plutôt que d’injecter directement du code. Ryan Cleary : Un Britannique de 19 ans arrêté fin juin par Scotland Yard et accusé d'être un membre de LulzSec. Ce que le groupe a contesté, expliquant que le jeune homme ne lui était que «vaguement connecté», notamment en s'occupant d'un channel IRC. The Jester : Hacker solitaire, patriote, dit proche des militaires, qui se décrit comme «un hacktiviste pour le bien». Il s'en prend surtout aux sites djihadistes et parfois à Anonymous ou à LulzSec. Le 24 juin, il a publié des informations sur ce qu'il affirme être l'identité de «Sabu» (voir ci-dessous), qui aurait travaillé dans une entreprise de sécurité informatique new-yorkaise. userland : Inverse du kernel land, c’est la partie de la mémoire où les programmes classiques sont exécutés. Il existe certaines méthode pour passer du user land au kernel land. Mais bon, ça fait moins de dégats, donc c’est moins drôle ! Sabu : Ce serait le hacker en chef de LulzSec, selon les transcripts des chats IRC publiés par le Guardian. Il donne les directives et rappelle souvent sa garde rapprochée (quatre ou cinq membres) à l'ordre. «Assurez-vous que toutes vos informations sensibles soient encryptées et stockées sur une clés USB. Restez derrière vos VPN (voir ci-dessous)», dit-il notamment. Social engineering : L'ingénierie sociale permet de dérober des données en utilisant les failles humaines. Par exemple, utiliser des informations présentes sur Facebook pour récupérer le mot de passe d'un compte email grâce à la «question secrète» (du type «quel est le nom de jeune fille de votre mère, dans quelle ville avez-vous grandi etc). Topiari : L'autre grande figure de LulzSec. Il semble officier comme porte-parole du groupe et être derrière le très actif compte Twitter, maniant avec talent un certain humour. Il avait déjà fait parler de lui en étant la voix d'Anonymous, notamment lors d'un talk-show lors duquel le groupe avait hacké en direct le site de l'Eglise de Westboro. VPN : Réseau privé virtuel, un réseau privé intermédiaire construit au sein d’une infrastructure informatique public, tel qu’Internet, selon Symantec. Utilisé par les internautes pour anonymiser leur trafic. Vxing : partie du hacking qui définit tout ce qui à attrait aux virus. A ne pas confondre avec les X-wing. Web Ninjas : Un groupe qui s'est donné pour mission de révéler l'identité des membres de LulzSec. Ces justiciers se présentent comme les «défenseurs des victimes des hackers». Ils pourraient regrouper des anciens membres d'Anonymous et/ou des experts en sécurité informatique. White Hat : à l’inverse des black hat, le white hat est un gentil. On le surnomme aussi « Chercheur en sécurité informatique », et il aide à la résolution de failles, en prévenant les administrateurs concernés et en indiquant la marche à suivre pour résoudre le problème. XSS : Cross Site Scripting. C’est une injection de code (souvent du javascript) dans une page Web, qui permet de modifier le contenu de la page, uniquement sur le poste client. Il existe deux clans : ceux qui disent que les XSS sont inutiles, et ceux qui disent qu’elles sont très dangereuses. Avec une XSS, on peut juste récupérer un accès non autorisé à un compte utilisateur, on peut juste faire un deface, on peut juste passer admin du site, on peut juste devenir root de la machine. (oui, je fais partie du deuxième clan ;))